home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / complib / sorml2.z / sorml2
Text File  |  1998-10-30  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSOOOORRRRMMMMLLLL2222((((3333FFFF))))                                                          SSSSOOOORRRRMMMMLLLL2222((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SORML2 - overwrite the general real m by n matrix C with   Q * C if SIDE
  10.      = 'L' and TRANS = 'N', or   Q'* C if SIDE = 'L' and TRANS = 'T', or   C *
  11.      Q if SIDE = 'R' and TRANS = 'N', or   C * Q' if SIDE = 'R' and TRANS =
  12.      'T',
  13.  
  14. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  15.      SUBROUTINE SORML2( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO
  16.                         )
  17.  
  18.          CHARACTER      SIDE, TRANS
  19.  
  20.          INTEGER        INFO, K, LDA, LDC, M, N
  21.  
  22.          REAL           A( LDA, * ), C( LDC, * ), TAU( * ), WORK( * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      SORML2 overwrites the general real m by n matrix C with
  26.  
  27.      where Q is a real orthogonal matrix defined as the product of k
  28.      elementary reflectors
  29.  
  30.            Q = H(k) . . . H(2) H(1)
  31.  
  32.      as returned by SGELQF. Q is of order m if SIDE = 'L' and of order n if
  33.      SIDE = 'R'.
  34.  
  35.  
  36. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  37.      SIDE    (input) CHARACTER*1
  38.              = 'L': apply Q or Q' from the Left
  39.              = 'R': apply Q or Q' from the Right
  40.  
  41.      TRANS   (input) CHARACTER*1
  42.              = 'N': apply Q  (No transpose)
  43.              = 'T': apply Q' (Transpose)
  44.  
  45.      M       (input) INTEGER
  46.              The number of rows of the matrix C. M >= 0.
  47.  
  48.      N       (input) INTEGER
  49.              The number of columns of the matrix C. N >= 0.
  50.  
  51.      K       (input) INTEGER
  52.              The number of elementary reflectors whose product defines the
  53.              matrix Q.  If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >=
  54.              0.
  55.  
  56.      A       (input) REAL array, dimension
  57.              (LDA,M) if SIDE = 'L', (LDA,N) if SIDE = 'R' The i-th row must
  58.              contain the vector which defines the elementary reflector H(i),
  59.              for i = 1,2,...,k, as returned by SGELQF in the first k rows of
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSOOOORRRRMMMMLLLL2222((((3333FFFF))))                                                          SSSSOOOORRRRMMMMLLLL2222((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              its array argument A.  A is modified by the routine but restored
  75.              on exit.
  76.  
  77.      LDA     (input) INTEGER
  78.              The leading dimension of the array A. LDA >= max(1,K).
  79.  
  80.      TAU     (input) REAL array, dimension (K)
  81.              TAU(i) must contain the scalar factor of the elementary reflector
  82.              H(i), as returned by SGELQF.
  83.  
  84.      C       (input/output) REAL array, dimension (LDC,N)
  85.              On entry, the m by n matrix C.  On exit, C is overwritten by Q*C
  86.              or Q'*C or C*Q' or C*Q.
  87.  
  88.      LDC     (input) INTEGER
  89.              The leading dimension of the array C. LDC >= max(1,M).
  90.  
  91.      WORK    (workspace) REAL array, dimension
  92.              (N) if SIDE = 'L', (M) if SIDE = 'R'
  93.  
  94.      INFO    (output) INTEGER
  95.              = 0: successful exit
  96.              < 0: if INFO = -i, the i-th argument had an illegal value
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.